package com.category.spi.model;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 分类树形结构 DTO
 * 用于返回包含 children 的嵌套树形数据
 */
@Data
public class CategoryTreeDTO {

    /** 主键ID */
    private Long id;

    /** 分类名称 */
    private String name;

    /** 可读唯一标识 */
    private String slug;

    /** 父分类ID（顶级为 null） */
    private Long parentId;

    /** 层级：1=顶级 2=二级 3=三级... */
    private Integer level;

    /** 分类路径：如 /1/3/9 */
    private String path;

    /** 排序（越小越靠前） */
    private Integer sortOrder;

    /** 状态：1=启用 0=禁用 */
    private Integer status;

    /** 是否叶子：1=是 0=否 */
    private Integer isLeaf;

    /** 创建时间 */
    private LocalDateTime createdAt;

    /** 更新时间 */
    private LocalDateTime updatedAt;

    /** 子分类列表 */
    private List<CategoryTreeDTO> children;
}